
cmake_minimum_required(VERSION 3.10)
project(reflex2q3 CXX)

set(OBJ_SRC "src/planes.cpp" "src/brushdef.cpp" "src/oopless-parser.cpp" "src/EntityConverter.cpp")
add_library(objects OBJECT ${OBJ_SRC})


add_executable(reflex2q3 src/main.cpp)
add_executable(runtests test/catch.cpp)
target_link_libraries(reflex2q3 objects)
target_link_libraries(runtests objects)

set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED True)

find_package(PkgConfig)
pkg_check_modules(EIGEN eigen3)
if ( NOT EIGEN_FOUND) #use local
	message ( WARNING "Install eigen3 using your package manager.  If using git eigen3 or a non-standard install location, ensure environment variable EIGEN3_INCLUDE_DIR is set." )
	include_directories ( "$ENV{EIGEN3_INCLUDE_DIR}" )
	find_package(Eigen3 REQUIRED NO_MODULE)
endif ( NOT EIGEN_FOUND)

include_directories(
    ${EIGEN_INCLUDE_DIRS} #set by pkg_check_modules
    "lib/Catch/single_include/catch2"
    "lib/cxxopts/include"
    "include"
    "test"
)
